本文主要小结一下nginx的几个常见异常以及解决措施。

ERR_CONTENT_LENGTH_MISMATCH 或 ERR_INCOMPLETE_CHUNKED_ENCODING

这个通常是proxy_temp目录的owner和group设置不对,导致没有权限

ps aux | grep "nginx: worker process" | awk '{print $1}'

通过如上命令查看运行woker进程的用户,然后将proxy_temp目录的权限改为与之一致,比如

chown -R nobody:nogroup /usr/local/openresty/nginx/proxy_temp

Request Header Or Cookie Too Large

如果的后端代理接口明明好好的,但是通过nginx转发,有时候会报400,那么这个通常是nginx的client_header_buffer_size 太小,或者large_client_header_buffers不够大

client_header_buffer_size 4k; //可以把这个调大,比如128k
large_client_header_buffers 4 128k;

这里是调整了large_client_header_buffers

413 Request Entity Too Large

这个通常是client_max_body_size设置太小,不是chunked方式上传的附件会有问题

client_max_body_size           20m;

这里调大为20M

doc


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...